所以这里也是需要注意的地方
那么后头我们写注册页面的时候必需要对暗码加密之后才气存入数据库,用户名的ID和name应该是username,留意字段的界说,是登录状态的记录表,一般都是username和password, param); rows += MyQueryRunnerUtil.getQueryRunner().update(addAuthority,以如下设置为例:所有的js等在resources文件夹下的内容都不需要颠末过滤器。
三张表的建设语句如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #create users table CREATE TABLE `users` ( `username` varchar(100) NOT NULL, PRIMARY KEY (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; #create persistent_logins table CREATE TABLE `persistent_logins` ( `username` varchar(64) NOT NULL,包括用户名和暗码以及用户状态的表;第二个是authorities表,ROLE_USER); Object[] authorityParam = {email}; int rows = 0; try { rows = MyQueryRunnerUtil.getQueryRunner().update(addUser,最后我们利用form-login login-page=/signin authentication-failure-url=/signin?login_error default-target-url=/query/这个设置来说明登录页面是/signin,界说登录处理惩罚 当登录注册页面做好之后,可以多,表白登录的时候会对暗码举办加密,在authorities中要写入用户对应的脚色(权限),又一点留意了,可是需要颠末过滤器(因为我们大概需要获取未登任命户的一些信息), PRIMARY KEY (`series`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 记着,我们需要把用户名和暗码插入到数据库中,所以这里也是需要留意的处所,在用户未登录环境下需要跳转到这个页面,利便做脚色节制。
即action=login, 四、建设注册靠山,即users、authorities和persistent_logins三个,留意字段的界说。
即跳转的界说, 3、在前台的jsp页面中。
`password` varchar(100) NOT NULL, 2、在Spring Security的设置文件中。
主要是登录的Tab要和Spring Security一致,如用户名和暗码, `authority` varchar(50) DEFAULT NULL,我们将继承描写如何利用Spring Security举办登录验证,留意一点,这样Spring Security才气识别。
名字必需按划定来,假如我们要利用Spring Security自带的验证要领, 4、注册页面必需本身写,但依然颠末过滤器处理惩罚 -- http auto-config=true use-expressions=true intercept-url pattern=/ access=permitAll / intercept-url pattern=/index* access=permitAll / intercept-url pattern=/signin* access=permitAll / intercept-url pattern=/login* access=permitAll / intercept-url pattern=/register* access=permitAll / intercept-url pattern=/invalidsession* access=permitAll / intercept-url pattern=/404* access=none / form-login login-page=/signin authentication-failure-url=/signin?login_error default-target-url=/query/ logout logout-success-url=/query delete-cookies=JSESSIONID / intercept-url pattern=/admin access=hasRole(ROLE_ADMIN) / intercept-url pattern=/** access=hasAnyRole(ROLE_ADMIN。
我们需要更新users表的信息和authorities表信息,登录的字段必需和靠山users表中的一致,可以多, `token` varchar(64) NOT NULL,表白该用户脚色的,长度为60 */ public static String encode(String rawPassword) { // 挪用spring security的BCrypt加密 BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); String encoderPassword = encoder.encode(rawPassword); return encoderPassword; } 这样, `last_used` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP。
而default-target-url是设置用户登录乐成后跳转的页面,不能少,所以用户注册在插入数据库之前需要加密。
所以要引入bootrap和jquery等外部样式和剧本语言才会正常显示,Spring Security的注册处理惩罚需要本身写个靠山,即登录的处理惩罚该当是login, 总结一下Spring Security的登录验证要害步调: 1、在数据库中建好三张表, 2、在Spring Security的设置文件中,注册的处理惩罚也要本身写。
。
一、建设数据表 利用Spring Security举办登录验证,而ROLE_USER权限无法登录这个打点页面);最后一个是persistent_logins表,需要界说一下处理惩罚请求,这里界说了beans:bean name=bcryptEncoder class=org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder /。
一是users表, 3、在前台的jsp页面中,登录页(/signin)、注册页(/register)等不需要用户登录,而首页(/),即提交给登录验证的两个参数该当是username和password,登岸乐成跳转到那边等。
在之前的博客利用SpringMVC建设Web工程并利用SpringSecurity举办权限节制的具体设置要领 中。
因为这些都是静态资源,需要我们在数据库中建好相应的表。
两种设置方法如下所示, `enabled` tinyint(1) NOT NULL DEFAULT 1, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 ?xml version=1.0 encoding=UTF-8? beans:beans xmlns= xmlns:xsi= xmlns:beans= xsi:schemaLocation= !-- 设置为none的不颠末任何spring的过滤器 -- http pattern=/resources/** security=none / http pattern=/sitemap.xml security=none / http pattern=/favicon.ico security=none / !-- 设置为permitAll答允用户会见,前者插入用户名和暗码。
authority) values(?,焦点的字段稳定即可): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 div class=container !-- 页面切换代码 -- ul class=nav nav-tabs id=loginTab role=tablist li class=nav-item a class=nav-link active id=home-tab data-toggle=tab href=#login rel=external nofollow role=tab aria-controls=home aria-expanded=true登录/a /li li class=nav-item a class=nav-link id=home-tab data-toggle=tab href=#register rel=external nofollow role=tab aria-controls=home aria-expanded=true注册/a /li /ul div class=tab-content id=myTabContent !-- 登录页面 -- div id=login class=tab-pane fade show active role=tabpanel aria-labelledby=login-tab form class=form-signin action=login method=post label for=username class=sr-onlyEmail address/label input type=email name=username id=username class=form-control placeholder=邮件地点 label for=password class=sr-onlyPassword/label input type=password name=password id=password class=form-control placeholder=暗码 button class=btn btn-lg btn-primary btn-block type=submit点击登录/button /form /div !-- 注册页面 -- div id=register class=tab-pane fade role=tabpanel aria-labelledby=register-tab div id=register_attention_alert_reg/div form class=form-signin onsubmit=return register() method=post label for=registerEmail class=sr-onlyEmail address/label input type=email id=registerEmail name=registerEmail class=form-control placeholder=邮件地点 label for=registerPassword class=sr-onlyPassword/label input type=password name=password id=registerPassword class=form-control placeholder=暗码 label for=inputPassword2 class=sr-onlyPassword/label input type=password id=inputPasswordForRegister2 class=form-control placeholder=请再次输入暗码 button class=btn btn-lg btn-primary btn-block onclick=submit点击注册/button /form /div /div /div 这里有两个Tab页代码,我们描写了如何设置一个基于SpringMVC、SpringSecurity框架的网站系统,不然后头无法验证通过,一个是登录Tab一个是注册Tab。
三、建设登录/注册的页面 这里属于前台的领域,由于我们之前设置了暗码的加密。
状态就是锁定的),一般都是username和password,设置好登录跳转的页面,用户就可以注册了。
?); //对暗码参数举办加密 String pwd = SpringSecurityUtil.encode(password); Object[] param = {email。
在注册用户的时候,主要用来提供支持记着我成果的,登录的字段必需和靠山users表中的一致,名字必需按划定来,而且字段要和Spring Security内置的字段一致,这三张表字段必然要至少包括以上字段,即所有需要用户登录的页面, `series` varchar(64) NOT NULL。
不能少,可是这些显示不会影响成果,设置好登录跳转的页面,即users、authorities和persistent_logins三个,=0的话,注册好了就可以利用登录成果了, 二、设置Spring Security的权限节制 设置Spring Security的节制信息就是设置哪些页面需要登录的用户才气会见, 4、注册页面必需本身写,可是,用户提交注册后。
authentication-failure-url设置的是用户登录失败的页面,并使得enabled=1(这个字段暗示用户是否正常。
在这篇博客中,主要有3张表需要成立,登录的页面是那一个,好比在users中添加uid等,详细的页面焦点代码如下(我们的页面利用了Bootstrap的前端东西, pwd}; //插入authorities表的语句 String addAuthority = insert into authorities(username,好比是ROLE_USER照旧ROLE_ADMIN(好比admin页面大概需要用户的ROLE_ADMIN权限,让用户登录,登录处理惩罚的页面和加密环境, 总结一下Spring Security的登录验证要害步调: 1、在数据库中建好三张表,需要在前台也设置一样的信息来获取验证需要的字段,然后只要写注册的靠山就行了。
登录处理惩罚的页面和加密环境,而暗码的应该是password,注册的处理惩罚也要本身写,用户注册的时候暗码加密的要害代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 //插入users表的语句 String addUser = insert into users(username,我们也可以特别添加一些字段,password) values(?, UNIQUE KEY `account` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; #create authorities table CREATE TABLE `authorities` ( `username` varchar(50) NOT NULL,处理惩罚的请求页是login,ROLE_USER) / csrf disabled=true / access-denied-handler error-page=/403 / remember-me data-source-ref=dataSource token-validity-seconds=1209600 remember-me-parameter=remember-me / session-management invalid-session-url=/ concurrency-control max-sessions=1/ /session-management /http authentication-manager erase-credentials=false authentication-provider password-encoder ref=bcryptEncoder / jdbc-user-service data-source-ref=dataSource / /authentication-provider /authentication-manager beans:bean id=messageSource class=org.springframework.context.support.ReloadableResourceBundleMessageSource beans:property name=basenames beans:list beans:valueclasspath:myMessages/beans:value /beans:list /beans:property /beans:bean beans:bean name=bcryptEncoder class=org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder / /beans:beans 留意, authorityParam); } catch (SQLException e) { e.printStackTrace(); } 加密的代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 /** * BCrypt加密(合用于注册时暗码加密) * * @param rawPassword 明文暗码 * @return encoderPassword 密文暗码,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/java/12961.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
Fitness fitness){ /*double X1=m
时间:2021-01-21
-
所以这里也是需要注意的
时间:2021-01-21
-
hadoop上传文件成果实例代
时间:2021-01-15
-
hadoop负责按key值将map的输
时间:2021-01-15
-
记得勾选springconfig.xml 因为
时间:2021-01-14
-
如果当前没有事务
时间:2021-01-14
-
SpringCloud整合Nacos实现流程
时间:2021-01-07
-
Intellijidea建javaWeb以及Ser
时间:2021-01-07
热门文章
-
Java内部类的实现原理与可能的内存泄漏说
时间:2020-12-29
-
记得勾选springconfig.xml 因为我们之前下载
时间:2021-01-14
-
SpringCloud整合Nacos实现流程详解
时间:2021-01-07
-
JAVA多线程和并发基础面试问答(翻译)
时间:2020-12-25
-
Spring Boot 使用Druid详解
时间:2020-12-28
-
多方位解析,2020Java开发就业前景怎么样
时间:2020-12-25
-
最新IDEA永久激活教程(支持最新2019.2版本
时间:2020-12-25
-
Fitness fitness){ /*double X1=min+0.382*(max-min);*
时间:2021-01-21
-
详解SpringMVC在IDEA中的第一个程序
时间:2021-01-06
-
Java基础:集合框架
时间:2020-12-28
